﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Datos;
using Negocio;

namespace Clase2
{
    public partial class Form1 : Form
    {
    	private Sistema sistema;

        public Form1()
        {
        	sistema = Sistema.Recuperar();
            InitializeComponent();
        }
        
        void ListadoToolStripMenuItemClick(object sender, EventArgs e)
        {
        	Listados<Propietario> listadoParticipantes = new Listados<Propietario>(sistema.ListaPropietarios);
        	listadoParticipantes.Show();
        }
        
        void ListadoToolStripMenuItem1Click(object sender, EventArgs e)
        {
        	Listados<Vehiculo> listadoVehiculo = new Listados<Vehiculo>(sistema.ListaVehiculos);
        	listadoVehiculo.Show();        	
        }
        
        void ListadoToolStripMenuItem2Click(object sender, EventArgs e)
        {
        	Listados<Infraccion> listadoInfraccion = new Listados<Infraccion>(sistema.ListaInfracciones);
        	listadoInfraccion.Show();
        }
                
        void NuevoPropietarioToolStripMenuItemClick(object sender, EventArgs e)
        {
        	AltaPropietarioForm altaPropietario = new AltaPropietarioForm();
        	altaPropietario.ShowDialog();
        	
        	Propietario prop = altaPropietario.Propietario;
        	
        	// el mismo propietario tiene los métodos para guardarse
        	if (!sistema.chequearPropietario(prop)) { // verificar existencia del DNI
        		prop.guardarPropietarios();
        	} else {        	             	
	        	MessageBox.Show("El Propietario ya se encuentra registrado", "Intente con un nuevo numero de DNI",
	            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);        			
        	}
        }
        
        void SalirToolStripMenuItemClick(object sender, EventArgs e)
        {
        	Close();
        }
        
        void NuevoVehiculoToolStripMenuItemClick(object sender, EventArgs e)
        {
        	AltaDeVehiculoForm vehiculo = new AltaDeVehiculoForm(this.sistema.ListaPropietarios, this.sistema);        	  	
        	vehiculo.ShowDialog();        	       	        	        	
        }
        
        void NuevaInfraccionToolStripMenuItemClick(object sender, EventArgs e)
        {
        	AltaInfraccion infraccion = new AltaInfraccion(this.sistema.ListaTipoInfracciones,
                        this.sistema.ListaVehiculos,this.sistema.ListaInfracciones,this.sistema.ListaInfraccionVehiculo);
        	infraccion.ShowDialog();
        	
			
        	sistema.guardar();
        }
        
        
        void PagarInfraccionToolStripMenuItemClick(object sender, EventArgs e)
        {
        	PagarInfraccion p = new PagarInfraccion(this.sistema);
        	p.ShowDialog();
        	        	
        	this.sistema.guardar();
        }
        
        void TipoDeInfracciónToolStripMenuItemClick(object sender, EventArgs e)
        {
        	AltaDeTipoDeInfraccion altaTipo = new AltaDeTipoDeInfraccion(this.sistema.ListaInfracciones);
        	altaTipo.ShowDialog();
        	
        	this.sistema.ListaInfracciones = altaTipo.ListaInfracciones;
        	this.sistema.guardar();
        }
        
        void ListadoDeInfraccionToolStripMenuItemClick(object sender, EventArgs e)
        {
        	Listados<Infraccion> infracciones = new Listados<Infraccion>(this.sistema.ListaInfracciones);        	
        	infracciones.ShowDialog();
        }
    }
}
